// 初始化数据库

const sequelize = require('./dbConnect');

const adminModel = require('../model/adminModel');
const blogTypeModel = require('../model/blogTypeModel');
const bannerModel = require('../model/bannerModel');
const blogModel = require('../model/blogModel');
const md5 = require('md5');

// 模型同步
(async () => {
  // 定义模型关系

  // 一对多
  blogTypeModel.hasMany(blogModel, {
    foreignKey: 'id',
    targetKey: 'categoryId'
  })
  blogModel.belongsTo(blogTypeModel, {
    foreignKey: 'categoryId',
    targetKey: 'id',
    as: 'category'
  })


  await sequelize.sync({ alter: true });
  // 同步完成后，有一些表需要一下初始化数据
  // 先查询有没有初始化数据没有我们才初始化数据
  const adminCount = await adminModel.count()
  if (!adminCount) {
    await adminModel.create({
      loginId: 'admin',
      name: '超级管理员',
      loginPwd: md5('123456')
    })
    console.log('模型同步完成！')
  }
})(); 
